Method and Device for Establishing an End-to-End Communication Between Two Networks

ABSTRACT

The invention relates to a method for establishing an end-to-end communication between two networks, wherein: a message is received from one first network, this message having a first header and an application-data part; data of said first header is coded into a second header within the application data part, with the aid of a first coding scheme, so as to produce a modified application data part; said modified application data part is coded with the aid of a second coding scheme so as to produce a coded message; and this coded message is transmitted to a second network.

The present invention relates to a method and an apparatus for settingup end-to-end communication between two networks.

Wireless or wired sensor networks are today connected to the Internet inorder to allow the sensors of the sensor network to be controlled viathe Internet from anywhere in the world. In order to connect a sensornetwork to the Internet, appropriate interfaces are needed in order totransmit control commands, data packets and/or messages from theInternet to the sensor network and conversely in order to returnresponse messages, error reports and/or output data from the sensornetwork to the Internet.

FIG. 1 shows a diagram of a model 10 of communication between twonetworks. In this case, a first network 1, for example the Internet,comprises a multiplicity of nodes that communicate using a firstprotocol family. In the case of the Internet, this is the Internetprotocol family, which uses TCP/IP (TCP—Transport Control Protocol,IP—Internet Protocol) for communication, for example. On a lowercommunication layer 1 a, TCP/IP has Internet protocols such as IPv4 orIPv6, which is responsible for forwarding data packets (routing). On anupper application-specific communication layer 5, transport protocolssuch as HTTP (HTTP—Hypertext Transfer Protocol) [3, 4] are used, whichare used for the interchange of data and/or messages by virtue ofapplications 4, which provide services in service-oriented architecture(SOA), for example.

A second network 2, for example a wireless sensor network, cancommunicate with the first network 1. To this end, it requires a messagepath 3 that can be used to interchange messages and/or data between theapplications 4 of the first network 1 and proprietary applications 12 ofthe second network 2. In this case, the second network contains nodes 2a, 2 b and 2 c, which usually have a proprietary routing protocol on alower communication level. In addition, proprietary transport protocolsare frequently used on an upper communication layer 13, as a result ofwhich direct communication between the applications 4 of the firstnetwork 1 and the applications 12 of the second network 2 is notpossible.

In order to set up end-to-end communication between the networks 1 and2, an application gateway 11 is frequently provided. From an output nodein the first network 1, the communication 15 is routed by means of afirst transport protocol, for example HTTP, to the application gateway11, in which the messages and data are converted at application levelfrom the application 4 of the first network 1 into the application 12 ofthe second network 2. Subsequently, the communication is routed betweenthe application gateway 11 and a node 2 a of the second network 2 bymeans of the proprietary transport protocol of the second network 2. Inthe opposite direction, the data or message stream is routedaccordingly.

Since the two networks 1 and 2 use different transport protocols fromdifferent protocol families, the application gateway 11 has to convertall desired features and functionalities at application level from onenetwork into the other network. This results in reduced flexibility forsuch application gateways 11. By way of example, changes in theprotocols on one or the other network side always require changes in therelevant conversion functions in the application gateway 11. Inaddition, support for a large number of different applications andprotocols is difficult to implement, since each functionality requiresprecise detailed knowledge of the relevant protocols. Therefore,nonstandardized or provider-specific protocols, in particular, are toughto support.

It is therefore desirable to provide direct communication betweenapplications from different networks. FIG. 2 shows a diagram of afurther model 20 of communication between two networks. The model 20differs from the model 10 essentially in that direct or transparentcommunication 24 is possible between the applications 4 of the firstnetwork 1 and applications 22 of the second network 2. The basic idea ofsuch a model 20 involves matching the transport protocols of thecommunication layer 5 of the first network 1 to the transport protocols23 of the second network 2. This requires the semantics of the protocolused, for example HTTP, to be conserved. HTTP is a text-based transportprotocol, however, which is unusable for many sensor networks on accountof the packet size of the messages and data sent. Therefore, routers 21are frequently used that convert the transport protocol used in thefirst network 1, for example HTTP, into a compressed transport protocol,for example compressed HTTP, on an upper communication level. Thisallows applications 4 and 22 to communicate transparently by means ofHTTP, as a result of which it is possible for new applications with newfunctionality to be incorporated into the networks 1 or 2 without theneed for the router 21 to be matched.

Today, however, more and more web services are used for which connectionthereof to sensor networks is highly desirable. For communication, webservices frequently use standardized network protocols, such as SOAP.SOAP is a protocol for interchanging messages via a computer network andestablishes rules for the message design. In particular, it regulateshow data in the message need to be depicted and interpreted. SOAP isbased for the most part on a standard data protocol such as XML(Extensible Markup Language) in combination with transport protocolssuch as HTTP and Internet protocols such as IPv4 or IPv6. Although theverbosity and wealth of data of such network protocols can be handledwithout difficulty by powerful systems such as PCs, laptops or mobiletelephones, embedded devices such as microprocessors that are frequentlyused in sensor networks are able to manage this volume of data only withconsiderable runtime losses and with a large memory requirement.Efficient end-to-end communication cannot be accomplished with a modelas shown in FIG. 2, for example.

The present invention provides a solution to the aforementioned problemsby specifying a method for setting up end-to-end communication betweentwo networks in accordance with patent claims 1 and 11, an apparatus forsetting up end-to-end communication between two networks in accordancewith patent claims 12 and 22 and a system having an apparatus forsetting up end-to-end communication between two networks in accordancewith patent claim 23.

In accordance with one embodiment of the invention, a method for settingup end-to-end communication between two networks comprises the steps ofreception of a message from a first network, wherein the message has afirst header and an application data portion, of coding of data from afirst header into a second header within the application data portionusing a first coding scheme in order to produce a modified applicationdata portion, of coding of the modified application data portion using asecond coding scheme in order to produce a coded message, and of sendingof the coded message to a second network. This method affords theadvantage of providing messages that have constituent parts of aplurality of communication protocols using a standard coding in order tokeep down the implementation complexity for decoders in the destinationnetwork for the message. This advantageously keeps free more memory forapplication logic. Furthermore, the method according to the inventionaffords the advantage of the applications being able to react flexiblyto compatibility specifications. In particular, a change in thefunctions of the application data does not require the coding methodaccording to the invention to be matched.

Advantageously, the method can be used for coding XML messages [5],particularly SOAP messages [7]. In this case, the first header maycomprise HTTP data [3, 4], which are converted into a SOAP header forthe SOAP message using web service addressing.

Advantageously, the method can code the modified application dataportion using a binary coding scheme, particularly Efficient XMLInterchange (EXI) [2]. This allows a high compression rate, sinceEfficient XML Interchange (EXI) is not linked to byte sizes.

Advantageously, the method according to the invention is used forsetting up end-to-end communication between network nodes in theInternet on the one hand and network nodes in a wireless or wired sensornetwork on the other hand. This affords the advantage that embeddeddevices, particularly sensors, can be integrated into web servicesbetter and more easily.

In accordance with a further embodiment, a method for setting upend-to-end communication between two networks comprises the reception ofa coded message from a second network, the decoding of the coded messageinto an application data portion having a second header and applicationdata using a second coding scheme, the decoding of data from the secondheader into a first header using a first coding scheme, the annexing ofthe first header in front of the application data portion in order toproduce a decoded message, and the sending of the decoded message to afirst network. This method affords the advantage of following the methodof the first embodiment by appropriately decoding response messages formessages coded in accordance with the method based on the firstembodiment and forwarding them to the initial network.

In accordance with a further embodiment of the invention, an apparatusfor setting up end-to-end communication between two networks comprises afirst transmission/reception device, which is designed to receive amessage from a first network, wherein the message has a first header andan application data portion, a first coding device, which is designed tocode data from the first header into a second header within theapplication data portion using a first coding scheme to produce amodified application data portion, a second coding device, which isdesigned to code the modified application data portion using a secondcoding scheme into a coded message, and a second transmission/receptiondevice, which is designed to send the coded message to a second network.

In accordance with a further embodiment, an apparatus for setting upend-to-end communication between two networks comprises a secondtransmission/reception device, which is designed to receive a codedmessage from a second network, a second decoding device, which isdesigned to decode data from the coded message into an application dataportion having a second header and application data using a secondcoding scheme, a first decoding device, which is designed to decode datafrom the second header into a first header using a first coding scheme,and to annex the first header in front of the application data portionin order to produce a decoded message, and a firsttransmission/reception device, which is designed to send the decodedmessage to a first network.

In accordance with a further embodiment, a system comprises an apparatusaccording to the invention based on one of the embodiments cited above,a network node in the first network, which network node is connected toone of the transmission/reception devices, and a network node in thesecond network, which network node is connected to the othertransmission/reception device.

Developments and variations are specified in the dependent claims.

Further features and advantages of the invention become evident from thedescription below of exemplary embodiments with reference to thefigures, in which:

FIG. 1 shows a diagram of a model of communication between two networks;

FIG. 2 shows a diagram of a further model of communication between twonetworks;

FIG. 3 shows a diagram of yet a further model of communication betweentwo networks;

FIG. 4 shows a diagram of a model of communication between two networksin accordance with an embodiment of the invention;

FIG. 5 shows a scheme for a method for setting up end-to-endcommunication between two networks in accordance with an embodiment ofthe invention;

FIG. 6 a shows an illustration of an uncoded message;

FIG. 6 b shows an illustration of a coded message;

FIG. 6 c shows an illustration of a coded message in accordance with anembodiment of the invention; and

FIG. 7 shows a schematic illustration of an apparatus for setting upend-to-end communication between two networks in accordance with anembodiment of the invention.

Elements in the figures that are of the same type and/or have the sameeffect are provided with the same reference symbols. It goes withoutsaying that the specified illustrations are not necessarily to scale. Inaddition, it is self-evident that single features and/or concepts ofvarious embodiments shown in the drawings can be combined with oneanother in any way—if appropriate.

FIG. 3 shows a diagram of yet a further model 30 of communicationbetween two networks. The model 30 differs from the model 20 in that aconversion apparatus 31 is used that converts data packets and/ormessages from a first network 1, for example the Internet, forforwarding to a second network 2, for example a sensor network. As shownin FIG. 6 a, such messages or data packets 60 comprise a header 61 thatcontains details of the transport protocol used, for example HTTP [3,4]. An application data portion 62 of the data packet 60 comprisesdetails of the respective data interchange protocol used. By way ofexample, the application data portion 62 may comprise a SOAP message 63[7]. SOAP messages 63 usually comprise a frame construct, what is knownas the “envelope”, that has an embedded body element, what is known asthe “SOAP body” 65. In this case, the SOAP body 65 comprises the usefuldata on which the SOAP message 63 is based, which are generated by theapplication 4. Optionally, a SOAP message 63 may also comprise adedicated header (“SOAP header”) 64, which may comprise furtherinformation relating to the processing of the SOAP message 63, such asrouting information, encryption data or authentication data.

In accordance with the model 30, the conversion apparatus 31 is used toconvert a header 35 of a data packet 60, which may correspond to theheader 61, into a coded header 33, and to convert an application dataportion 36, which may correspond to the application data portion 62 ofthe data packet 60, into a coded application data portion 34. The codedheader 33 and the coded application data portion 34 are then compiled toform a coded data packet and transferred to the second network 2, wherean application 22 can decode and read the coded constituent parts 33 and34 as appropriate.

A coded data packet of this kind may have a structure like a data packet70 in FIG. 6 b, for example. The coded data packet 70 comprises a codedheader 71, which can be produced by coding a header 61 in FIG. 6 a, forexample. The coding of the header 61 into a coded header 71 can beperformed using Chopan (“Compressed HTTP over Personal Area Networks”)[1], for example. Chopan is a compression method for HTTP into binaryformat. A coded application data portion 72 of the data packet 70 can beproduced from an application data portion 62 of a data packet 60 in FIG.6 a, for example. The coded application data portion 72 may comprise adata portion 76, for example in EXI format (“Efficient XML Interchange”)[2], which can be used to code a SOAP message 73 having a SOAP header 74and a SOAP body 75. EXI is binary coding of text-based XML documents(XML—Extensible Markup Language) [5] and uses entropy-based codingschemes. The data portion 76 may also be coded in the binary MPEG formatfor XML (BiM) [6]. BiM is an international standard for generic binarycoding of XML data.

The conversion of the compressed and coded data components 33 and 34into decoded messages or data packets that can be read by theapplication 22 of the second network 2 requires two decoders that decodethe respective protocols. These decoders are implemented in theprocessing appliance of the second network 2, for example amicroprocessor of a sensor in a sensor network.

FIG. 4 shows a diagram of a model 40 of communication between twonetworks in accordance with an embodiment of the invention. The model 40differs from the model 30 essentially in that a data packet or a messagehaving a header 35 and an application data portion 36 that is receivedfrom a first network 1, such as the Internet, is converted into a codeddata packet or a coded message 43 in an apparatus 31. In this case, thecoded message 43 may correspond to a coded message 80 as shown in FIG. 6c.

In this case, the coded message 80 in FIG. 6 c comprises a codedcomponent 81 that incorporates a header, such as a header 61, forexample an HTTP header, into a coded application data component 81. Thecoded application data component 81 may comprise a component 86 that iscoded using a binary coding scheme, for example using EXI. The component86 may comprise a modified application data component 83, for example aSOAP message 83, which may correspond to the SOAP message 63 of the datapacket 60 in FIG. 6 a. The SOAP message 83 may comprise a SOAP header 84and a soap body 85, similar to the SOAP header 64 and the SOAP body 65in FIG. 6 a. The SOAP header 84 has a component 87 that comprises codeddata from the header 61. The component 87 may have been coded using webservice addressing (WS addressing). WS addressing is the specificationof a mechanism that allows web services to interchange addressinformation. In this case, a data structure for the transfer of areference to a web service terminal point and a set of addressproperties of messages that combine address information with aparticular message are provided. WS addressing is part of what are knownas the WS specifications that have been developed as a modular extensionfor SOAP. The component 87 can be used to code information that areexistent in the HTTP portion of the header 61 as transport information.

In this way, the message or the data packet 61, which comprises a header61, for example an HTTP header, and an application data component 62,for example a SOAP message, can be coded in standard fashion by means ofa single first coding scheme. This coding scheme may be EXI or BiM, forexample. To this end, the header 61 is first of all converted into theapplication data component 62, for example a SOAP header 64, by means ofa second coding scheme, for example WS addressing, so that theapplication data portion 62 can then be coded into a coded message 80 instandard fashion.

This has the advantage that a network node 2 a in which a microprocessordecodes the coded message 43 for an application 22, for example a sensorin a sensor network, now requires only a single decoder, for example anEXI coder or a BiM coder. This means that less computation capacity andstorage space is needed in the microprocessor, which then has morecomputation power and storage space available for other operations.

A further advantage of the use of EXI is a high compression rate and theassociated bandwidth saving when the coded message is transmitted in thesecond network 2, since EXI is not linked to byte sizes.

Despite compression with EXI, compatibility with HTTP is maintained,which means that the method according to the invention is very wellsuited to the implementation of new products that nevertheless remaincompatible with older products.

FIG. 5 shows a scheme for a method for setting up end-to-endcommunication between two networks in accordance with an embodiment ofthe invention. In a first step 51, a message is received from a firstnetwork, the message having a first header and an application dataportion. In this case, the first network may be the Internet, and themessage may comprise HTTP data in the header and a SOAP message in theapplication data portion.

In a second step 52, data from the first header are coded into a secondheader within the application data portion using a first coding schemein order to produce a modified application data portion. In this case,the second header may be a SOAP header, of a SOAP message, in whichheader a data component that comprises HTTP data for an HTTP header isproduced using WS addressing (WS—web service, see www.w3c.org).

In a third step 53, the modified application data portion is coded usinga second coding scheme in order to produce a coded message. In thiscase, it is possible for the second coding scheme to be a binary codingscheme, particularly EXI (Efficient XML Interchange) or BiM (Binary MPEGformat for XML), which is used to code a SOAP message.

In a fourth step 54, the coded message is sent to a second network. Inthis case, the second network may be particularly a sensor network, forexample an industrial sensor network, a sensor network in buildingsengineering or the like.

In accordance with a further embodiment, a method for setting upend-to-end communication between two networks is provided, which inprinciple represents the inverse of the method according to theinvention presented above in reference to FIG. 5.

In this case, a coded message can be received from a network, forexample a sensor network, the coded message can be decoded into anapplication data portion having a first header and application datausing a first coding scheme, for example EXI, the data from the firstheader can be decoded into a second header using a second coding scheme,for example WS addressing, the second header can be annexed in front ofthe application data portion in order to produce a decoded message, forexample having an HTTP header and a SOAP message, and the decodedmessage can be sent to a second network, for example the Internet.

FIG. 7 shows a schematic illustration of an apparatus 100 for setting upend-to-end communication between two networks in accordance with anembodiment of the invention. In this case, the apparatus 100 comprises afirst transmission/reception device 101, which is designed to receive amessage from a first network 1, wherein the message has a first headerand an application data portion, a first coding device 102, which isdesigned to code data from the first header into a second header withinthe application data portion using a first coding scheme to produce amodified application data portion, a second coding device 103, which isdesigned to code the modified application data portion using a secondcoding scheme into a coded message, and a second transmission/receptiondevice 104, which is designed to send the coded message to a secondnetwork 2. In this case, the apparatus 100 can perform particularly amethod as shown in FIG. 5. It is clear to a person skilled in the artthat the first coding device 102 and the second coding device 103 mayalso be in the form of a single coding device having the functionalitiesof the coding devices 102 and 103.

In accordance with a further embodiment, an apparatus for setting upend-to-end communication between two networks is provided that comprisesa second transmission/reception device, which is designed to receive acoded message from a second network, a second decoding device, which isdesigned to decode data from the coded message into an application dataportion having a second header and application data using a secondcoding scheme, a first decoding device, which is designed to decode datafrom the second header into a first header using a first coding scheme,and to annex the first header in front of the application data portionin order to produce a decoded message, and a firsttransmission/reception device, which is designed to send the decodedmessage to a first network. In this case, the apparatus may be ofsimilar design to the apparatus 100 in FIG. 7. In particular, thedevices 101, 102, 103 and 104 may be designed to forward messages ordata packets in both directions, that is to say from the first to thesecond network and vice versa, and in this case to perform the relevantcoding and decoding steps. It is clear to a person skilled in the artthat the first decoding device and the second decoding device may alsobe in the form of a single decoding device having the functionalities ofthe first and second decoding devices.

LIST OF REFERENCES

-   [1] Chopan    http://tools.ietf.org/pdf/draft-frank-61owpan-chopan-00.pdf-   [2] W3C, EXI “Efficient XML Interchange”,    http://www.w3.org/tr/2009/cr-exi-20091208/-   [3] IETF, Hypertext Transfer Protocol, Version HTTP/1.0, see RFC    1945, http://tools.ietf.org/html/rfc1945-   [4] IETF, Hypertext Transfer Protocol, Version HTTP/1.1, see RFC    2616, http://tools.ietf.org/html/rfc2616-   [5] W3C, Extensible Markup Language (XML) 1.0 (Fifth Edition), see    http://www.w3.org/TR/2008/REC-xml-20081126/-   [6] Information Technology—MPEG Systems Technologies—Part 1: Binary    MPEG format for XML, ISO/IEC FDIS 23001-1:2005 (E), ISO/IEC JTC 1/SC    29/WG11, w7597, Nov. 4, 2005-   [7] Simple Object Access Protocol (SOAP), see    http://www.w3.org/TR/soap/

1. A method for setting up end-to-end communication between twonetworks, comprising: reception of a message (60) from a first network(1), wherein the message (60) has a first header (35; 61) and anapplication data portion (36; 62); coding of data from the first header(35; 61) into a second header (64) within the application data portion(36; 62) using a first coding scheme in order to produce a modifiedapplication data portion (83); coding of the modified application dataportion (83) using a second coding scheme in order to produce a codedmessage (43; 80); and sending of the coded message (43; 80) to a secondnetwork (2).
 2. A method for setting up end-to-end communication betweentwo networks, comprising: reception of a coded message (80) from asecond network (2); decoding of the coded message (80) into anapplication data portion (62) having a second header (64) andapplication data (65) using a second coding scheme; decoding of datafrom the second header (64) into a first header (61) using a firstcoding scheme; annexing of the second header (61) in front of theapplication data portion (62) in order to produce a decoded message(60); and sending of the decoded message (60) to a first network (1). 3.The method as claimed in claim 1, wherein the application data portion(36; 62) comprises XML data.
 4. The method as claimed in claim 3,wherein the application data portion (36; 62) comprises a SOAP message.5. The method as claimed in claim 4, wherein the second header (64) is aSOAP header.
 6. The method as claimed in claim 1, wherein the firstheader (61) comprises HTTP data.
 7. The method as claimed in claim 1,wherein the first coding scheme comprises web services addressing. 8.The method as claimed in claim 1, wherein the second coding scheme isEfficient XML Interchange or binary MPEG format for XML.
 9. The methodas claimed in claim 1, wherein the first network (1) is the Internet.10. The method as claimed in claim 1, wherein the second network (2) isa sensor network.
 11. An apparatus (100) for setting up end-to-endcommunication between two networks, comprising: a firsttransmission/reception device (101), which is designed to receive amessage (60) from a first network (1), wherein the message (60) has afirst header (61) and an application data portion (62); a first codingdevice (102), which is designed to code data from the first header (61)into a second header (64) within the application data portion (62) usinga first coding scheme to produce a modified application data portion(83); a second coding device (103), which is designed to code themodified application data portion (83) using a second coding scheme intoa coded message (80); and a second transmission/reception device (104),which is designed to send the coded message (80) to a second network(2).
 12. An apparatus (100) for setting up end-to-end communicationbetween two networks, comprising: a second transmission/reception device(104), which is designed to receive a coded message (80) from a secondnetwork (2); a second decoding device (103), which is designed to decodedata from the coded message (80) into an application data portion (62)having a second header (64) and application data (65) using a secondcoding scheme; a first decoding device (102), which is designed todecode data from the second header (64) into a first header (61) using afirst coding scheme and to annex the first header (61) in front of theapplication data portion (62) in order to produce a decoded message(60); and a first transmission/reception device (101), which is designedto send the decoded message (60) to a first network (1).
 13. A systemcomprising: an apparatus for setting up end-to-end communication betweentwo networks, the apparatus comprising: a first transmission/receptiondevice configured to receive a message from a first network, wherein themessage has a first header and an application data portion; a firstcoding device configured to code data from the first header into asecond header within the application data portion using a first codingscheme to produce a modified application data portion; a second codingdevice configured to code the modified application data portion using asecond coding scheme into a coded message; and a secondtransmission/reception device configured to send the coded message to asecond network; a network node in the first network (1), which networknode is connected to one of the transmission/reception devices (101;104); and a network node in the second network (2), which network nodeis connected to the other transmission/reception device (104; 101).